package com.androiddelphi;

import java.util.ArrayList;
import java.util.List;

import android.content.Context;
import android.database.Cursor;
import android.provider.ContactsContract;

public class Contatos {
	
	private Context ctx;
	
	public Contatos(Context contexto){
		this.ctx = contexto;
	}
	
	public ArrayList<EntityContato> getContatos(){
		Cursor C_Contatos = 
				this.ctx.getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,null,null,null, ContactsContract.Contacts.DISPLAY_NAME);
		int IndexID = C_Contatos.getColumnIndex(ContactsContract.Contacts._ID);
		int IndexTemTelefone = 
				C_Contatos.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER);
		int IndexName = 
				C_Contatos.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME);
		
		ArrayList<EntityContato> Contatos = new ArrayList<EntityContato>(); 
		
		EntityContato Contato; 
		
		while(C_Contatos.moveToNext()) { 
			Contato = new EntityContato(); 
			Contato.setID(C_Contatos.getString(IndexID)); 
			Contato.setNome(C_Contatos.getString(IndexName));
			Contato.setSelected(false);
			//verifica se o contato tem telefone 
			
			if(Integer.parseInt(C_Contatos.getString(IndexTemTelefone))>0) { 
				Telefone Telefone = new Telefone(Contato.getID(), this.ctx);
				Contato.setTelefones(Telefone.getTelefones());
			} 
		Contatos.add(Contato); 
		} 
		C_Contatos.close(); 

		return Contatos; 
		}
		
	}